package com.hskn.hss.module.rptCarWork.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 *
 * </p>
 *
 * @author hskn
 * @since 2021-05-21
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class RptCarWork implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;

    /**
     * 车辆ID
     */
    private String carId;
    /**
     * 车牌号
     */
    private String carNum;
    /**
     * 计划ID
     */
    private String planId;
    /**
     * 计划名称
     */
    private String planName;
    /**
     * 网格ID
     */
    private String gridId;
    /**
     * 网格名称
     */
    private String gridName;
    /**
     * 班组ID
     */
    private String groupId;
    /**
     * 班组名称
     */
    private String groupName;
    /**
     * 规则ID
     */
    private String ruleId;
    /**
     * 规则名称
     */
    private String ruleName;
    /**
     * 排班日期
     */
    private String workDate;
    /**
     * 排班开始时间
     */
    private Date planStartTime;
    /**
     * 排班结束时间
     */
    private Date planEndTime;
    /**
     * 工作开始时间
     */
    private Date workStartTime;
    /**
     * 工作结束时间
     */
    private Date workEndTime;
    /**
     * 态：0未开始；1进行中；2已结束
     */
    private Integer status;
    /**
     * 作业类型：2机械清扫；3垃圾清运；4垃圾转运
     */
    private Integer workType;
    /**
     * 总进度，机械清扫为总里程，其他为收集点数量
     */
    private Integer allProgress;

    /**
     * 当前进度完成百分比
     */
    private Integer completePercent;
    /**
     * 是否迟到
     */
    private Integer isLaterIn;
    /**
     * 是否旷工
     */
    private Integer isNoWork;
    /**
     * 是否早退
     */
    private Integer isLeaveEarly;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 更新时间
     */
    private Date updateTime;
    /**
     * 部门id
     */
    private String departmentId;
    /**
     * 排班月份
     */
    private String workMonth;
    /**
     * 车牌号 + 车辆类型
     */
    private String carName;
    /**
     * 车辆类型
     */
    private String carType;

    public RptCarWork() {
    }

    /**
     * 班次ID
     */
    private String shiftId;
    /**
     * 班次名称
     */
    private String shiftName;
    /**
     * 作业大类ID
     */
    private String workTypeId;
    /**
     * 作业大类名称
     */
    private String workTypeName;
    /**
     * 今日里程
     */
    private Integer todayMileage;

    private String punchCardAddress;
    /**
     * 作业周期 work_cycle
     */
    private Integer workCycle;
    /**
     * 预计作业油耗
     */
    private BigDecimal expectOilConsumption;
    /**
     * 预计作业水耗
     */
    private BigDecimal expectWaterConsumption;

    /**
     * 预计作业里程
     */
    private BigDecimal expectMileage;
    /**
     * 预计作业时长
     */
    private BigDecimal expectWorkTime;
    /**
     * 垃圾清运 清理点位数量
     */
    private Integer pickupPoint;
    /**
     * 当前进度，同总进度 工作里程
     */
    private BigDecimal workMileage;
    /**
     * 工作耗油
     */
    private BigDecimal workOil;
    /**
     * 工作耗时
     */
    private BigDecimal workTime;

    /**
     * 在岗里程
     */
    private BigDecimal onGuardMileage;
    /**
     * 在岗油耗
     */
    private BigDecimal onGuardOil;
    /**
     * 在岗耗时
     */
    private BigDecimal onGuardTime;


    private Integer tangCi;
    @TableField(exist = false)
    private Integer qlFlag;
    private Integer carWorkType;
    @TableField(exist = false)
    private String kaoQinIds;
    /**
     * 完成比
     */
    @TableField(exist = false)
    private BigDecimal finishRate;

    @TableField(exist = false)
    private Integer areaType;
    @TableField(exist = false)
    private BigDecimal radius;
    @TableField(exist = false)
    private String lng;
    @TableField(exist = false)
    private String lat;
    @TableField(exist = false)
    private String lnglat;
    @TableField(exist = false)
    private Integer allStatus;
    @TableField(exist = false)
    private Integer finishTangci;
    private String sjdIds;

    @TableField(exist = false)
    private String params;

}
